package com.zzs.common.core.response;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * 分页请求时, 会用到这个, 作为data封装到{@link Result}中
 * @author zzs
 * @date 2025/03/19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageResult<T> {
    /**
     * 数据总数
     */
    private int total;
    /**
     * 请求的单页行数据
     */
    private List<T> rows;

    public static <T> PageResult<T> success(int total, List<T> rows) {
        return new PageResult<>(total, rows);
    }

    public static <T> PageResult<T> empty(int total) {
        return new PageResult<>(0, new ArrayList<>());
    }
}
